package com.递归2;

/**
 * <p>
 *输入两个递增排序的链表，合并这两个链表并使新链表中的节点仍然是递增排序的。
 *
 * 示例1：
 *
 * 输入：1->2->4, 1->3->4
 * 输出：1->1->2->3->4->4
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 * </p>
 *
 * @author zhangqing
 * @since 2021/1/13
 */
public class 合并两个排序的链表 {
    static class Solution {
        /**
         * https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/solution/javadai-ma-ji-bai-9927di-gui-he-fei-di-gui-tu-wen-/
         * @param l1
         * @param l2
         * @return
         */
        public static ListNode mergeTwoLists(ListNode l1, ListNode l2) {
            if (l1 == null)
                return l2;
            if (l2 == null)
                return l1;
            if (l1.val < l2.val) {
                l1.next = mergeTwoLists(l1.next, l2);
                return l1;
            } else {
                l2.next = mergeTwoLists(l1, l2.next);
                return l2;
            }


        }

        public static void main(String[] args) {
           MyLinkedList l1 = new MyLinkedList(new int[]{1});
           MyLinkedList l2 = new MyLinkedList(new int[]{2});
            ListNode listNode = mergeTwoLists(l1.head.next, l2.head.next);


        }
    }
}
